Skip to content

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244

Draft
mormubis wants to merge 8 commits intoadlrb/ssi-e2efrom
adlrb/ssi-breaking
Draft

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244
mormubis wants to merge 8 commits intoadlrb/ssi-e2efrom
adlrb/ssi-breaking

Conversation

@mormubis
Copy link
Contributor

Stacked PR 5/5 — base: adlrb/ssi-e2e | stack top: adlrb/ssi-breaking

Stack: PR1 #4238 → PR2 #4239 → PR3 #4241 → PR4 #4242PR5 (this PR)

Motivation

As part of the SSI (Single-Step Instrumentation) Phase 6 initiative, the remoteConfigurationId field and the entire remote-configuration integration that was previously embedded in rum-core is being removed. Remote configuration is now handled by the standalone @datadog/browser-remote-config package (PR2) consumed by the new @datadog/browser-sdk-endpoint package (PR3), which acts as the SSI entry point.

This is a v7 breaking change: any customer who configured remoteConfigurationId must migrate to the new endpoint-based approach.

Changes

  • Removes remoteConfigurationId from RumInitConfiguration and all runtime code in rum-core
  • Deletes packages/rum-core/src/domain/configuration/remoteConfiguration.ts and its specs
  • Deletes packages/rum-core/src/domain/configuration/jsonPathParser.spec.ts (moved to @datadog/browser-remote-config)
  • Updates preStartRum.ts, configuration.ts, eventTracker.ts, and their index exports to remove all references to remote configuration
  • Existing unit tests updated to remove remote-configuration test cases

Test instructions

yarn test:unit --spec packages/rum-core/src/boot/preStartRum.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/configuration/configuration.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/eventTracker.spec.ts
yarn typecheck

Checklist

  • Tested locally
  • Tested on staging
  • Added unit tests for this change.
  • Added e2e/integration tests for this change.
  • Updated documentation and/or relevant AGENTS.md file

mormubis added 8 commits March 3, 2026 17:45
BREAKING CHANGE: remoteConfigurationId and remoteConfigurationProxy are
removed from datadogRum.init() options.

Migration guide:
  // Before (v6)
  datadogRum.init({ remoteConfigurationId: 'xxx', ...options })

  // After (v7)
  import { fetchRemoteConfiguration } from '@datadog/browser-remote-config'
  const result = await fetchRemoteConfiguration({ applicationId, configId, site })
  if (result.ok) {
    datadogRum.init({ ...result.value.rum })
  }

The remote configuration logic now lives in @datadog/browser-remote-config,
giving customers more control: parallel fetching, custom caching, error handling.
…rdering

- Export CONTEXT_RESOLUTION_HELPERS from endpoint package index so tests can import it
- Replace inline helper copies in E2E setup factories with the canonical CONTEXT_RESOLUTION_HELPERS string (cookie-name regex-escaping, extractor support, DOM password guard)
- Fix globalContext test context collision: re-apply test isolation properties via setGlobalContextProperty after init instead of setGlobalContext before init
- Fix dynamic cookie test: pre-set cookie via preSDKScript before SDK loads (no second navigation needed)
- Consolidate two setup factories into shared createEmbeddedConfigSetup with optional preSDKScript
…scenario imports

Playwright prohibits importing between test scenario files. Move the shared
setup factory to test/e2e/lib/helpers/embeddedConfigSetup.ts so both
embeddedConfig and embeddedConfigDynamic scenarios can import it cleanly.
@cit-pr-commenter-54b7da
Copy link

cit-pr-commenter-54b7da bot commented Mar 3, 2026

Bundles Sizes Evolution

📦 Bundle Name Base Size Local Size 𝚫 𝚫% Status
Rum N/A 167.53 KiB N/A N/A N/A
Rum Profiler 4.71 KiB 4.71 KiB 0 B 0.00%
Rum Recorder N/A 24.88 KiB N/A N/A N/A
Logs N/A 56.30 KiB N/A N/A N/A
Flagging N/A 944 B N/A N/A N/A
Rum Slim N/A 123.41 KiB N/A N/A N/A
Worker N/A 23.63 KiB N/A N/A N/A
🚀 CPU Performance
Action Name Base CPU Time (ms) Local CPU Time (ms) 𝚫%
RUM - add global context 0.0043 0.0044 +2.33%
RUM - add action 0.0161 0.0146 -9.32%
RUM - add error 0.0166 0.0143 -13.86%
RUM - add timing 0.0035 0.0029 -17.14%
RUM - start view 0.0139 0.0138 -0.72%
RUM - start/stop session replay recording 0.0008 0.0009 +12.50%
Logs - log message 0.0158 0.0178 +12.66%
🧠 Memory Performance
Action Name Base Memory Consumption Local Memory Consumption 𝚫
RUM - add global context 26.91 KiB 26.52 KiB -400 B
RUM - add action 115.48 KiB 50.32 KiB -65.16 KiB
RUM - add timing 26.14 KiB 26.51 KiB +383 B
RUM - add error 114.29 KiB 54.85 KiB -59.44 KiB
RUM - start/stop session replay recording 26.51 KiB 25.71 KiB -819 B
RUM - start view 509.40 KiB 451.61 KiB -57.79 KiB
Logs - log message 44.40 KiB 44.84 KiB +460 B

🔗 RealWorld

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Mar 3, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 77.14% (-0.01%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7b0e30e | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant